package fachada;

import java.util.ArrayList;

import sistemaAlmacen.Almacen;
import sistemaAlmacen.Articulo;
import sistemaAlmacen.Pedido;
import dao.DAOAlmacen;

public class FachadaAlmacen implements IFachada {
	
	private Almacen almacen;
	private Pedido pedidoActual;
	
	private DAOAlmacen dao;
	
	public FachadaAlmacen(){
		dao = new DAOAlmacen();

		this.almacen = new Almacen(dao);
	}
	
	public ArrayList<Articulo> consultarInventario(){
		
		almacen.cargarAlmacen();
		return almacen.getAlmacen();
	}
	
	public ArrayList<Articulo> consultarInventario(String nombre, String tipo, int cantidad){
		
		almacen.cargarAlmacen(nombre,tipo,cantidad);
		return almacen.getAlmacen();
	}
	
	public Articulo obtenerArticulo(String nombre){
		
		return dao.obtenerArticulo(nombre);
	}
	
	public ArrayList<Pedido> consultarPedidos(){
		
		return dao.consultarPedidos();
	}
	
	public Pedido obtenerPedido(int id){
		
		return dao.obtenerPedido(id);
	}
	
	public void guardarPedido(Pedido pedido, String nombreProveedor, String emailProveedor, String estado){
		
		this.dao.guardarPedido(pedido.getId(), nombreProveedor, emailProveedor, estado);
		this.dao.guardarArticuloPedido(pedido.getArticulos(),pedido.getId());
	}
	
	public void realizarPedido(Pedido pedido, String nombreProveedor, String emailProveedor){
		
		this.dao.guardarPedido(pedido.getId(), nombreProveedor, emailProveedor, "REALIZADO");
		this.dao.solicitarPedido(pedido.getArticulos());
	}
	
	public Pedido getPedidoActual() {
		return pedidoActual;
	}

	public void setPedidoActual(Pedido pedidoActual) {
		this.pedidoActual = pedidoActual;
	}

	public void crearPedido(){
		
		dao.crearPedido();

	}
}
